Skip to content

feat(gametheory,#17543): GT-04f théories de la décision face à un prédicteur — Newcomb, Fisher (dowhy), UDT, 2TDT-1CDT, inattention rationnelle - #17551

Merged
myia-ai-01 merged 2 commits into
mainfrom
feature/17543-decision-theories
Sep 23, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
feature/17543-decision-theories

Conversation

@jsboige

@jsboige jsboige commented Sep 23, 2026 •

Copy link
Copy Markdown
Owner

Grain: DEEP/notebook-python — lane myia-po-2025:CoursIA — prev: MED/notebook-dotnet #17513

Résumé

Nouveau notebook MyIA.AI.Notebooks/GameTheory/GameTheory-04f-Theories-Decision-Predicteur.ipynb : que doit faire un agent quand son choix est corrélé à ce qu'un prédicteur a déjà décidé ? Le notebook fait suite au 04e, qui ouvre l'écart CDT/EDT sur une chasse au cerf corrélée. Il compare EDT, CDT, CCDT et UDT sur des problèmes calculés exactement, puis traite l'inattention rationnelle.

See #17543 (sous-grain de l'Epic, critère de sortie : notebook mergé sur main)
See #14468

Contenu (63 cellules, 23 de code, 4 exercices)

§ Sujet Résultat visible dans les sorties
1 Newcomb seuil EDT $p^* = 1001/2000$ ; CDT prend deux boîtes pour les 101 crédences ; Monte Carlo, écart observé contre écart théorique et erreur-type
2 Lésion de Fisher EDT arrête (8 contre 5), CDT fume (7 contre 6). Avec dowhy.gcm : $P(c \mid \mathrm{do}(S)) \approx 0.39$ / $0.40$ sur le bon graphe, contre $0.596$ / $0.195$ sur le graphe naïf. Défense du chatouillement
3 CCDT les équations (4)-(5) de Mohajeri reproduites : effondrement vers EDT avec des conséquences fines ; poids d'Edgington (10)-(11) et trois variantes
4 Cadre UDT générique six problèmes (Newcomb, Fisher, dilemme du prisonnier contre un jumeau, Newcomb transparent, counterfactual mugging, auto-stoppeur de Parfit), carte de chaleur du manque à gagner, coût ex post de la politique UDT
5 2TDT-1CDT (problème 4 de Dai) forme fermée $q^* = 1/2$, seuil de bascule et point intérieur $f^*$ ; simulation d'agents (écarts inférieurs à 1.2 erreur-type) ; dynamique du réplicateur (bistabilité à $q = 3/4$). Le paramètre $q$ est une extension du notebook, étiquetée comme telle
6 Inattention rationnelle Blahut-Arimoto, courbe $I(s;a)$ en fonction de $\lambda$, 7 ensembles de primes successifs (l'ordre n'est pas monotone), borne de la meilleure prime constante contre régularisation par l'entropie, contre-vérification SLSQP
7-8 Frontière et conclusion les 7 problèmes ouverts de Dai situés par rapport aux calculs ; trois choix de modélisation déclarés ; RIRL multi-agent non reproduit

Chaque chiffre du body de #17543 est assert-é dans une cellule. Les 4 exercices sont des stubs print("Exercice ... à compléter") accompagnés de # TODO : aucune erreur volontaire (C.1).

Validation (exécutée sur la tête db4b6d83b2)

  • Papermill, kernel python3 (Python 3.13) : 63/63 cellules en 23.8 s, execution_count 1 à 23 consécutifs, 0 sortie error.
  • python scripts/notebook_tools/validate_pr_notebooks.py origin/main <04f> → PASS (23 cells), All notebooks passed validation.
  • grep -nE "raise NotImplementedError|assert False|1/0" → 0 ligne.
  • Chaîne de navigation (check_notebook_nav_chain.py) : 0 notebook inatteignable ; ni 04e ni 04f parmi les entrées orphelines (les 44 findings restants concernent d'autres notebooks de la série, dont aucun n'est touché par cette PR). La ligne Navigation est ajoutée dans la première cellule du 04e. Un lien placé dans la prose ne compte pas comme arête pour le garde.
  • Les lectures ont été relues contre les sorties. Trois écarts corrigés avant commit, puis ré-exécution : ratio des erreurs-types, bornes du normaliseur de la carte de chaleur, et $-5.365$ pour la politique uniforme.
  • Environnement : dowhy 0.14, numpy 2.4.4, scipy 1.17.1, pandas 2.3.3, matplotlib 3.10.8, networkx 3.6.1.

Verdict SOTA

SOTA-OK : les outils de référence sont invoqués, pas simulés. Le calcul interventionnel passe par dowhy.gcm (modèle causal structurel ajusté sur 20 000 tirages, comparé au calcul exact), l'optimisation contrainte par scipy.optimize.minimize(method="SLSQP") à 5 départs, et l'inattention rationnelle par l'algorithme de Blahut-Arimoto, avec vérification des conditions de premier ordre (résidu ≤ 6e-13).

Problème non trivial (prong B) : sur le graphe naïf, dowhy reproduit la corrélation observée et CDT donne alors le verdict d'EDT (5.040 contre 8.055). C'est ce qui montre que l'intervention dépend du graphe fourni, pas des données seules. Sur l'inattention rationnelle, les 7 ensembles de primes successifs et la violation de la borne par l'entropie ne se voient qu'avec un prior non uniforme à 5 états.

Périmètre

Quatre fichiers, tous dans MyIA.AI.Notebooks/GameTheory/ :

  • GameTheory-04f-Theories-Decision-Predicteur.ipynb (nouveau, 458 Ko avec 5 figures) ;
  • GameTheory-04e-Reflective-Oracles.ipynb : +2 lignes markdown, la ligne de navigation 4d ← 04e → 4f. Aucune cellule de code touchée, pas de ré-exécution nécessaire (exception markdown de C.2). Le 04e n'appartient à aucune paire jumelle (twin_pairs.d ne le cite que dans une note de la paire 4c) ;
  • README.md : ligne 4f dans la table principale, la table Python et la table d'état ; lignes d'arborescence 04e (qui manquait) et 04f ; durée totale ~84h → ~88h : après fusion de main (GT-15f, feat(gametheory,#17531): GT-15f valeur de Shapley de groupe — le meilleur binôme n'est pas celui des deux meilleurs individus #17536, qui touchait la même ligne), somme re-mesurée sur les tableaux = 107 lignes, 5260 min = 87,7 h. Les durées des titres de phase ne comptent que les side tracks b/c et restent inchangées, comme pour 04d et 04e. Réconciliation disque ↔ README sur la tête : 98 notebooks dans le dossier (après fusion de main), 98 cités, 0 lien GameTheory-*.ipynb mort. Les blocs CATALOG-STATUS et COURSE_CATALOG.generated.* ne sont pas touchés ;
  • requirements.txt : dowhy>=0.12 (déjà utilisé par Probas/requirements.txt).

Sources

Les PDF restent hors Git (bibliographie partagée) :

  • Wei Dai (2023). UDT shows that decision theory is more puzzling than ever. G:\Mon Drive\MyIA\IA\Bibliographie IA\Probabilistic\2023 - Dai - UDT shows that decision theory is more puzzling than ever.pdf
  • Mohajeri (2023). Conditional causal decision theory reduces to evidential decision theory. doi:10.1111/phib.12298. G:\Mon Drive\MyIA\IA\Bibliographie IA\Probabilistic\2023 - Mohajeri - Conditional causal decision theory reduces to evidential decision theory.pdf
  • Mu, Zheng, Trott (2022). Modeling Bounded Rationality in Multi-Agent Simulations Using Rationally Inattentive Reinforcement Learning. arXiv:2202.01691. G:\Mon Drive\MyIA\IA\Bibliographie IA\GameTheory\2022 - Mu Zheng Trott - Modeling Bounded Rationality in Multi-Agent Simulations.pdf

🤖 Generated with Claude Code

…dicteur

Nouveau notebook Python GameTheory-04f-Theories-Decision-Predicteur :
Newcomb (seuil EDT 1001/2000, dominance CDT, Monte Carlo), lesion de
Fisher (EDT conditionne, CDT intervient, verification dowhy.gcm sur le
bon graphe et sur le graphe naif, defense du chatouillement), CCDT de
Mohajeri et poids d'Edgington, cadre generique de selection de politique
UDT sur six problemes, 2TDT-1CDT (forme fermee, simulation d'agents,
dynamique du replicateur, extension q etiquetee), inattention rationnelle
(Blahut-Arimoto, courbe I(s;a) en lambda, contre-verification SLSQP).
63 cellules, 23 code, 4 exercices sans erreur volontaire, execute.

Series : ligne de navigation 04e -> 04f (markdown seul), lignes README,
dowhy ajoute aux dependances GameTheory.

See #17543
See #14468

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #17551 (feat(gametheory,#17543): GT-04f théories de la décision face à un prédicteur — Newcomb, Fisher (dowhy), UDT, 2TDT-1CDT, inattention rationnelle) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

@github-actions github-actions Bot added the pr-overlap Advisory: another open PR touches the same files (organ #13615) label Sep 23, 2026

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Hermes] — review complète du notebook GT-04f (head db4b6d83b2), FULL READ 63 cellules via vue structurelle + vérifications programmatiques.

Vérifications indépendantes (re-dérivées, pas lues dans le body) :

  • Newcomb : p* = (M+K)/2M = 1001/2000 = 0.5005 exact en Fraction, E au seuil = 500 500 ✓ (output cell 4).
  • Fisher : P(fumer)=1/2, P(c|S)=3/5, P(c|Q)=1/5, EDT 5 vs 8 (arrête), CDT 7 vs 6 (fume) — re-calculé depuis le tableau 1 de Mohajeri ✓ (outputs cell 12).
  • 2TDT-1CDT : q* = (T−R)/(T−P) = 1/2 ✓, f_bascule(q=0) = 2/3 ✓, CDT rare 4.6 / UDT 2.7 ✓ (outputs cell 38/41).
  • Inattention rationnelle : H(prior) = 2.2282 bits re-calculé, égal à I(s;a) à λ=0.05 ✓ ; SLSQP 5 départs d'accord avec Blahut-Arimoto à ~1e-10/1e-11 (écarts présents dans l'output committé, cell 56).

Gates #17040 (programmatiques) :

  • Placement : les 16 « Lecture du résultat » suivent chacune IMMÉDIATEMENT une cellule de code exécutée avec outputs — aucune empilée, aucun déficit de placement.
  • Valeurs citées vs outputs : toutes présentes ; le seul écart apparent (« 0.72 bit ») est l'arrondi fidèle de 0.7182 dans l'output. Pas de valeur fabriquée.
  • Exercices 1-4 : stubs print("… à compléter") sans narration-solution, zéro leak.
  • exec_count 1→23 consécutifs, 0 output en erreur, 0 raise NotImplementedError.

Fichiers secondaires : 04e = exactement +2 lignes markdown (navigation 4d←04e→4f), aucune cellule de code touchée ; README ligne 4f + durées 84h→85h cohérent ; requirements.txt dowhy>=0.12 commenté, déjà utilisé par Probas.

Verdict SOTA confirmé : dowhy.gcm ajusté sur 20 000 tirages avec le graphe naïf en contre-épreuve (le verdict CDT bascule avec le graphe, pas avec les données — c'est le point pédagogique, prouvé dans l'output), SLSQP réel, Blahut-Arimoto avec résidu CPO ~1e-13.

Réserve mineure (non bloquante) : les 41 organes CI étaient encore running au moment de la review (check-runs au head) — mes vérifications sont directes et indépendantes de la CI, mais le merge devrait attendre le verdict des organes (dont validate_pr_notebooks).

APPROVE motivé : maths exactes re-dérivées, gates toutes passées, frontière explicite vs les 7 problèmes ouverts de Dai honnêtement déclarée. — Hermes (myia-po-2026:hermes-pr-review)

@github-actions

Copy link
Copy Markdown
Contributor

Notebook outputs-required (H.4 schema): PASS (every code cell carries an outputs: list)

@github-actions github-actions Bot added paragraph-length Paragraph > 2000 chars (wall-of-text, #15405). Resorb before merge. markdown-table-syntax Table syntax defect in changed files (CODE_SPAN_PIPE, NO_SEP, ...). Advisory. See #10097. labels Sep 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

Detector: python scripts/audit/detect_organ_duplication.py --base <merge-base> --body-file <pr body>
Rationale: #16776 / #13564 (rule merged in #16778).

@github-actions

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

⚠️ Detector abstained (merge-base introuvable, shallow fetch or unanchored branch).

Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit claim-check relations resolve only against named CLAIM_METRICS from the local output window and are classified SUPPORTED, CONTRADICTED, or UNPROVEN.
The markdown-claims-output-report run artifact contains the structured JSON report. See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 numeric pathology, extended with low-noise relational evidence.

@github-actions

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 8/8 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 6.4s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 7.6s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 12.8s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 9.9s
Search-01-StateSpace.ipynb ✅ SUCCESS 14.4s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 14.0s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 60.1s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 5.9s

Pinned lockfile: scripts/notebook_tools/golden_set.lock.txt (H.7 P3, axe A #4208)

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 2
  • Code cells validated: 41
  • Result: All passed

Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns)
Non-Python kernels (.NET/Lean): C.1 + errors only (execution_count advisory)
QuantConnect notebooks: C.1 + errors only (require QC Cloud for execution)

…ME GameTheory (durée totale) résolu

GT-15f (#17536) et GT-04f modifiaient la même ligne de durée totale.
Somme re-mesurée sur les tableaux après fusion : 107 lignes, 5260 min
= 87,7 h, annonce ~88h (15f seule : 86,4 h ; 04f seule : 86,8 h).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) and removed markdown-table-syntax Table syntax defect in changed files (CODE_SPAN_PIPE, NO_SEP, ...). Advisory. See #10097. labels Sep 23, 2026
jsboige added a commit that referenced this pull request Sep 23, 2026
…tell c.127)

Two findings from cycle c.52: a cell-printed SUCCESS after a lake/git
abort (#16987, 0/7 verdicts parsed), and a non-blocking advisory red
caused by a sticky-comment GraphQL error that must be rerun before the
dossier (#17551).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@jsboige

jsboige commented Sep 23, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 17551
head: f3eff52
complete: true
body: read
comments-reviewed: 6
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: ecdf75a5c8784fb48d3888f5ee85786af97041a3b415211c0caea07ee1fada02
diff-files: 4
diff-additions: 2766
diff-deletions: 1
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

paragraph-length Paragraph > 2000 chars (wall-of-text, #15405). Resorb before merge. pr-overlap Advisory: another open PR touches the same files (organ #13615) variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants